Conversation
Signed-off-by: Pavel Okhlopkov <pavel.okhlopkov@flant.com>
- Stream images_digests.json directly from remote registry using ExtractFileFromImage (layer-by-layer), avoiding full installer image download to disk - Skip OCI layout creation, release channel pulls, and standalone installer pulls in dry-run mode - none are needed for image list resolution - Separate dry-run logic into dedicated path (pullDeckhousePlatformDryRun) keeping the normal pull path free of conditional checks - Remove implicit VEX scanning from dry-run - (~319 unnecessary network calls) Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
- Dry-run methods (pullDeckhousePlatformDryRun, extractImageDigestsFromRemote) live in platform_dryrun.go for clear separation from the normal pull path - Grouped dry-run output with per-category headers and sorted image refs Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Glitchy-Sheep
previously approved these changes
Apr 8, 2026
Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a
--dry-runflag tod8 mirror pullthat resolves versions, extracts image digests, and prints the complete list of images that would be downloaded - without pulling blobs or writing bundle files.Motivation
--source,--license,--deckhouse-tag,--modulesand other flags produce the expected image list before committing to a 30-60+ minute download.Usage
Exit code 0 on success, non-zero on errors. Bundle directory remains empty.
How it works
Platform (optimized with layer streaming)
Instead of pulling the full installer image (~554 MB) to a local OCI layout, dry-run streams
images_digests.jsondirectly from the remote registry usingExtractFileFromImage- a layer-by-layer extraction that downloads only the layer containing the target file (~0.1 MB). No disk writes, no OCI layout creation.Dry-run logic lives in a separate file
platform_dryrun.gowith two methods:pullDeckhousePlatformDryRun- orchestrates version resolution and prints grouped image listextractImageDigestsFromRemote- streams JSON metadata from remote installer imageOther services
What is skipped in dry-run
Output
Grouped by category with counts and sorted refs:
Test execution